Load Data and Codes

data <- read.csv("data.csv", h = T)
head(data)
##   ID Site Period                   species Nr
## 1  1   42      1            Noctua pronuba  8
## 2  2   42      1      Atlantarctia tigrina  1
## 3  3   42      1           Anarta myrtilli  1
## 4  4   42      1      Lycophotia molothina  7
## 5  5   42      1        Harpyia milhauseri  1
## 6  6   42      1 Pseudoterpna coronillaria  1
library(xtable)
library(boot)
source('chao.R')
source('distanc.R')

Distances

The distances between pairs were calculated using QGIS for IPCC and IGeoE:

dist <- read.csv("dist_mat_ipcc.csv", h = T)
dist <- dist[-1]
DIST1 <- distanc(dist)
head(DIST1)
##      [,1] [,2]   [,3]
## [1,]    1    2  60.00
## [2,]    1    3  60.00
## [3,]    1    4  84.85
## [4,]    1    5 247.39
## [5,]    1    6 247.40
## [6,]    1    7 339.41
dist <- read.csv("dist_mat_igeoe.csv", h = T)
dist <- dist[-1]
DIST2 <- distanc(dist)
head(DIST2)
##      [,1] [,2]   [,3]
## [1,]    1    2  60.00
## [2,]    1    3  60.00
## [3,]    1    4  84.85
## [4,]    1    5 247.39
## [5,]    1    6 247.40
## [6,]    1    7 339.41
par(mfrow=c(2, 1))
hist(DIST1[, 3], main = "IPCC", xlab = "Geographic distance (m)", ylab = "Frequency")
hist(DIST2[, 3], main = "IGEOE", xlab = "Geographic distance (m)", ylab = "Frequency")

plot of chunk histdistanc

The histograms have the same behavior, then I chose the first vector of distances (IPCC) for analysing the data.

Data

Sorensen and Jaccard Estimators were estimated using unseen species (Chao et al 2005). The data-set was subseted by sample. Variables created from the chao-function have the following columns:

sample1 <- chao(1, 1, "sample1")
sample2 <- chao(2, 2, "sample2")
sample3 <- chao(3, 3, "sample3")
sample4 <- chao(4, 4, "sample4")
sample5 <- chao(5, 5, "sample5")
sample6 <- chao(6, 6, "sample6")
head(sample1)
##      p s1 s2  n nsp1   m nsp2 nsh fm1 fm2 f1m f2m   u_pt1  v_pt1  Junad
## [1,] 1  1  2 44   17  72   26  13   4   2   5   4 0.88636 0.6667 0.6142
## [2,] 1  1  3 44   17  73   33  13   5   1   5   5 0.86364 0.6301 0.5731
## [3,] 1  1  4 44   17   4    4   1   1   1   0   1 0.04545 0.2500 0.0400
## [4,] 1  1  5 44   17 114   33  12   2   1   4   4 0.86364 0.6754 0.6103
## [5,] 1  1  6 44   17  67   25  10   4   2   4   2 0.77273 0.4328 0.3840
## [6,] 1  1  7 44   17  97   29  12   3   1   5   4 0.81818 0.7216 0.6219
##        Lunad      U      V    Jabd   Labd
## [1,] 0.76098 1.0000 0.7854 0.78543 0.8798
## [2,] 0.72864 1.0000 0.7172 0.71715 0.8353
## [3,] 0.07692 0.0625 0.2500 0.05263 0.1000
## [4,] 0.75803 0.9312 0.7440 0.70526 0.8272
## [5,] 0.55487 1.0000 0.5495 0.54953 0.7093
## [6,] 0.76689 1.0000 0.9231 0.92315 0.9600

Exploratory Analysis

These functions were used to synthesize the samples for each year. Moth samplings were conducted for two years (2011 and 2012), each year had three sampling period.

trisamples <- function(base1, base2, base3, vr){
  base <- matrix(0, nrow = dim(base1)[1])
  for(i in 1:dim(base1)[1]){
    base[i] <- (base1[i, vr] + base2[i, vr] + base3[i, vr])/3
  }
  base
}

bisamples <- function(base1, base2){
  base <- matrix(0, nrow = length(base1))
  for(i in 1:length(base1)){
    base[i] <- (base1[i] + base2[i])/2
  }
  base
}
Jperiod1 <- trisamples(sample1, sample2, sample3, 19)
Lperiod1 <- trisamples(sample1, sample2, sample3, 20)
par(mfrow=c(1, 2))
plot(DIST1[, 3], (1 - Jperiod1), ylim = c(0, 1), xlab = "Geographic Distance (m)", ylab = 
       expression(~beta*"-diversity"), main = "Jaccard")
plot(DIST1[, 3], (1 - Lperiod1), ylim = c(0, 1), xlab = "Geographic Distance (m)", ylab = 
       expression(~beta*"-diversity"), main = "Sorensen")

plot of chunk firstyear

Jperiod2 <- trisamples(sample4, sample5, sample6, 19)
Lperiod2 <- trisamples(sample4, sample5, sample6, 20)
par(mfrow=c(1, 2))
plot(DIST1[, 3], (1 - Jperiod2), ylim = c(0, 1), xlab = "Geographic Distance (m)", ylab = 
       expression(~beta*"-diversity"), main = "Jaccard")
plot(DIST1[, 3], (1 - Lperiod2), ylim = c(0, 1), xlab = "Geographic Distance (m)", ylab = 
       expression(~beta*"-diversity"), main = "Sorensen")

plot of chunk secondyear

Jperiod <- bisamples(Jperiod1, Jperiod2)
Lperiod <- bisamples(Lperiod1, Lperiod2)
par(mfrow=c(1, 2))
plot(DIST1[, 3], (1 - Jperiod), ylim = c(0, 1), xlab = "Geographic Distance (m)", ylab = 
       expression(~beta*"-diversity"), main = "Jaccard")
plot(DIST1[, 3], (1 - Lperiod), ylim = c(0, 1), xlab = "Geographic Distance (m)", ylab = 
       expression(~beta*"-diversity"), main = "Sorensen")

plot of chunk allyears

DATASET: I created a new database with six columns:

b.div.mean <- cbind(sample1[, 1], sample1[, 2], sample1[, 3], Jperiod, Lperiod, DIST1[, 3])
colnames(b.div.mean) <- c("p", "s1", "s2", "Jabd", "Labd", "ipcc")

head(b.div.mean)
##      p s1 s2   Jabd   Labd   ipcc
## [1,] 1  1  2 0.6520 0.7724  60.00
## [2,] 1  1  3 0.7169 0.8153  60.00
## [3,] 1  1  4 0.2347 0.3054  84.85
## [4,] 1  1  5 0.5494 0.6839 247.39
## [5,] 1  1  6 0.6330 0.7575 247.40
## [6,] 1  1  7 0.6073 0.7244 339.41

Samples were taken in three landscapes that represent the farmland abandonment gradient: meadow-dominated, shrub-dominated and forest-dominated. In each landscape had 28 fixed sampling sites divided into four biotopes (meadow, short shrub, tall shrub and woodland), totaling 84 sampling sites.

mf <- c(56) #m - meadow
sf <- c(36, 39, 42, 45, 46) #s - short shrub
tf <- c(34, 49) #t - tall shrub
wf <- c(29, 30, 31, 32, 33, 35, 37, 38, 40, 41, 43, 44, 47, 48, 50, 51, 52, 53, 54, 55) 
#w - woodland
mm <- c(68, 75, 77, 84)
sm <- c(60, 64, 65, 66, 67, 70, 78, 79, 82)
tm <- c(57, 58, 59, 61, 62, 63, 69, 71, 72, 74, 76)
wm <- c(73, 80, 81, 83)
ma <- c(1, 9, 14, 15, 16, 17, 18, 19, 21, 23, 24, 25, 27)
sa <- c(2, 8, 10, 11, 12, 13, 20)
ta <- c(3, 4, 5, 6, 7, 28)
wa <- c(22, 26)

FIRST APROARCH

Within landscape

landsc_within <- function(base, s1, s2){
  result <- NULL
  for(i in s1){
    for(j in s2){
      if(i != j){
        result <- rbind(result, base[base[, 2] == i & base[, 3] == j, ])
      }
    }
  }
  result
}
idmea <- c(ma, sa, ta, wa)
idmix <- c(mm, sm, tm, wm)
idfor <- c(mf, sf, tf, wf)
m.mea <- landsc_within(b.div.mean, idmea, idmea)
m.mix <- landsc_within(b.div.mean, idmix, idmix)
m.for <- landsc_within(b.div.mean, idfor, idfor)

This function creates a database for each landscape, but with all pairs within landscape.

Regression models

  • Jaccard Estimator
jm.modelfor <- lm((1 - m.for[, 4]) ~ m.for[, 6])
jm.modelmix <- lm((1 - m.mix[, 4]) ~ m.mix[, 6])
jm.modelmea <- lm((1 - m.mea[, 4]) ~ m.mea[, 6])
  • Sorensen Estimator
sm.modelfor <- lm((1 - m.for[, 5]) ~ m.fordata[, 6])
sm.modelmix <- lm((1 - m.mix[, 5]) ~ m.mixdata[, 6])
sm.modelmea <- lm((1 - m.mea[, 5]) ~ m.meadata[, 6])
  1. Forest

plot of chunk forestlandscape1

  1. Shrub

plot of chunk shrublandscape1

  1. Meadow

plot of chunk meadowlandscape1

  • Mean Dissimilarity for each scale
plot.scale2 <- function(base, estimator = 0){
  #if estimator == 0: Jaccard, otherwise: Sorensen (default is Jaccard)
  area <- base[, 6]
  if(estimator) div <- base[, 5]
  else div <- base[, 4]
  plot(area, 1 - div, ylim = c(0, 1), xlim = c(0, 2000), xlab = "Geographic Distance (m)", 
       ylab = expression(~beta*"-diversity"))
  abline(v = c(115, 455), col = "gray", lwd = 1.5, lty = 2)
  lines(1:115, rep(1 - mean(div[area <= 115]), 115), col = 2, lwd = 4.5)
  lines(116:445, rep(1 - mean(div[(area <= 445) & (area > 115)]), 330), col = 2, lwd = 4.5)
  lines(446:1810, rep(1 - mean(div[area > 445]), 1365), col = 2, lwd = 4.5)
}
  1. Forest
par(mfrow = c(1, 2))
plot.scale2(m.for)
plot.scale2(m.for, 1)

plot of chunk forestscale

  1. Shrub

plot of chunk shrubscale

  1. Meadow

plot of chunk meadowscale

Bootstrapping

# function to obtain regression weights 
bs.jac <- function(formula, data, ind){
  d <- data[ind,] # allows boot to select sample
  fit <- lm(formula, data = d)
  return(c(coef(fit), summary(fit)$r.square, mean(d[, 4]))) 
} 

bs.sor <- function(formula, data, ind){
  d <- data[ind,] # allows boot to select sample
  fit <- lm(formula, data = d)
  return(c(coef(fit), summary(fit)$r.square, mean(d[, 5]))) 
} 

Within landscape

# bootstrapping with 2000 replications
jforres <- boot(data = as.data.frame(m.fordata), statistic = bs.jac, R = 2000, 
                formula = (1 - Jabd) ~ ipcc)
sforres <- boot(data = as.data.frame(m.fordata), statistic = bs.sor, R = 2000, 
                formula = (1 - Labd) ~ ipcc)
jmixres <- boot(data = as.data.frame(m.mixdata), statistic = bs.jac, R = 2000, 
                formula = (1 - Jabd) ~ ipcc)
smixres <- boot(data = as.data.frame(m.mixdata), statistic = bs.sor, R = 2000, 
                formula = (1 - Labd) ~ ipcc)

jmeares <- boot(data = as.data.frame(m.meadata), statistic = bs.jac, R = 2000, 
                formula = (1 - Jabd) ~ ipcc)
smeares <- boot(data = as.data.frame(m.meadata), statistic = bs.sor, R = 2000, 
                formula = (1 - Labd) ~ ipcc)

Confidence Interval

  • Bootstrap 95% CI for regression coefficients

Jaccard

jforres.ci <- ci.boot(jforres)
jmixres.ci <- ci.boot(jmixres)
jmeares.ci <- ci.boot(jmeares)

Sorensen

jforres.ci <- ci.boot(jforres)
jmixres.ci <- ci.boot(jmixres)
jmeares.ci <- ci.boot(jmeares)

Results

  • Intercept
par(mfrow = c(1, 2))
interc.plot3(jforres.ci, jmixres.ci, jmeares.ci)
title("Jaccard", cex = 1.5)
interc.plot3(sforres.ci, smixres.ci, smeares.ci)
title("Sorensen", cex = 1.5)

plot of chunk intercept_meth1

  • Dissimilarity
par(mfrow = c(1, 2))
dissim.plot3(jforres.ci, jmixres.ci, jmeares.ci)
title("Jaccard", cex = 1.5)
dissim.plot3(sforres.ci, smixres.ci, smeares.ci)
title("Sorensen", cex = 1.5)

plot of chunk dissim_meth1

  • Slope
par(mfrow = c(1, 2))
slope.plot3(jforres.ci, jmixres.ci, jmeares.ci)
title("Jaccard", cex = 1.5)
slope.plot3(sforres.ci, smixres.ci, smeares.ci)
title("Sorensen", cex = 1.5)

plot of chunk slope_meth1

  • R-Square
par(mfrow = c(1, 2))
rsquar.plot3(jforres.ci, jmixres.ci, jmeares.ci)
title("Jaccard", cex = 1.5)
rsquar.plot3(sforres.ci, smixres.ci, smeares.ci)
title("Sorensen", cex = 1.5)

plot of chunk r-squar_meth1

Tables

Jaccard

print(xtable(boot.table2(jforres.ci, jmixres.ci, jmeares.ci), 
             digits = 4, caption = "Intercept"), type = "latex", comment = FALSE)

Sorensen

print(xtable(boot.table2(sforres.ci, smixres.ci, smeares.ci), 
             digits = 4, caption = "Intercept"), type = "latex", comment = FALSE)

SECOND APPROACH

within landscapes

agr.mea <- landsc_within(b.div.mean, ma, ma)
shr.shr <- landsc_within(b.div.mean, sm, sm)
tal.shr <- landsc_within(b.div.mean, tm, tm)
for.woo <- landsc_within(b.div.mean, wf, wf)
mix.shr <- landsc_within(b.div.mean, c(sm, tm), c(sm, tm))

This function creates a database for each landscape. Also, I analyzed separately short and tall shrub within the shrub-dominated landscape.

In this analysis only the biotopes that correspond the type of the landscape were considered.

Regression models

jmodelfor.woo <- lm((1 - for.woo[, 4]) ~ for.woo[, 6])
jmodelmix.shr <- lm((1 - mix.shr[, 4]) ~ mix.shr[, 6])
jmodelagr.mea <- lm((1 - agr.mea[, 4]) ~ agr.mea[, 6])
jmodelshr.shr <- lm((1 - shr.shr[, 4]) ~ shr.shr[, 6])
jmodeltal.shr <- lm((1 - tal.shr[, 4]) ~ tal.shr[, 6])
smodelfor.woo <- lm((1 - for.woo[, 5]) ~ for.woo[, 6])
smodelmix.shr <- lm((1 - mix.shr[, 5]) ~ mix.shr[, 6])
smodelagr.mea <- lm((1 - agr.mea[, 5]) ~ agr.mea[, 6])
smodelshr.shr <- lm((1 - shr.shr[, 5]) ~ shr.shr[, 6])
smodeltal.shr <- lm((1 - tal.shr[, 5]) ~ tal.shr[, 6])
  1. Forest

plot of chunk forest_within

  1. Shrub

plot of chunk shrub_within

  1. Meadow

plot of chunk meadow_within

  1. Tall Shrub

plot of chunk tall_within

  1. Short Shrub

plot of chunk short_within

par(mfrow=c(1, 2))
m.data <- c(mean(for.woo[, 4]), mean(mix.shr[, 4]), mean(agr.mea[, 4]))
m.li <- c(mean(for.woo[, 4]) - sd(for.woo[, 4]), mean(mix.shr[, 4]) - sd(mix.shr[, 4]), 
          mean(agr.mea[, 4]) - sd(agr.mea[, 4]))
m.lu <- c(mean(for.woo[, 4]) + sd(for.woo[, 4]), mean(mix.shr[, 4]) + sd(mix.shr[, 4]), 
          mean(agr.mea[, 4]) + sd(agr.mea[, 4]))
plot(1:3, 1 - m.data, xaxt = "n", ylim=c(0, 1), xlab = "", 
     ylab = expression(~beta*"-diversity"), main = "Jaccard adjusted")
axis(1, at = 1:3, labels = c("Forest", "Shrub", "Meadow"))
segments(x0 = 1:3, y0 = 1 - m.li, y1 = 1 - m.lu, col = 1)

m.data <- c( mean(for.woo[, 5]), mean(mix.shr[, 5]), mean(agr.mea[, 5]))
m.li <- c(mean(for.woo[, 5]) - sd(for.woo[, 5]), mean(mix.shr[, 5]) - sd(mix.shr[, 5]), 
          mean(agr.mea[, 5]) - sd(agr.mea[, 5]))
m.lu <- c(mean(for.woo[, 5]) + sd(for.woo[, 5]), mean(mix.shr[, 5]) + sd(mix.shr[, 5]), 
          mean(agr.mea[, 5]) + sd(agr.mea[, 5]))
plot(1:3, 1 - m.data, xaxt = "n", ylim=c(0, 1), xlab = "", 
     ylab = expression(~beta*"-diversity"), main = "Sorensen adjusted")
axis(1, at = 1:3, labels = c("Forest", "Shrub", "Meadow"))
segments(x0 = 1:3, y0 = 1 - m.li, y1 = 1 - m.lu, col = 1)

plot of chunk dissim3_within

par(mfrow=c(1, 2))
m.data <- c(mean(for.woo[, 4]), mean(tal.shr[, 4]), mean(shr.shr[, 4]), mean(agr.mea[, 4]))
m.li <- c(mean(for.woo[, 4]) - sd(for.woo[, 4]), mean(tal.shr[, 4]) - sd(tal.shr[, 4]), 
          mean(shr.shr[, 4]) - sd(shr.shr[, 4]), mean(agr.mea[, 4]) - sd(agr.mea[, 4]))
m.lu <- c(mean(for.woo[, 4]) + sd(for.woo[, 4]), mean(tal.shr[, 4]) + sd(tal.shr[, 4]), 
          mean(shr.shr[, 4]) + sd(shr.shr[, 4]), mean(agr.mea[, 4]) + sd(agr.mea[, 4]))
plot(1:4, 1 - m.data, xaxt = "n", ylim=c(0, 1), xlab = "", ylab = 
       expression(~beta*"-diversity"), main = "Jaccard adjusted")
axis(1, at = 1:4, labels = c("Forest", "Tall", "Short", "Meadow"))
segments(x0 = 1:4, y0 = 1 - m.li, y1 = 1 - m.lu, col = 1)

m.data <- c(mean(for.woo[, 5]), mean(tal.shr[, 5]), mean(shr.shr[, 5]), mean(agr.mea[, 5]))
m.li <- c(mean(for.woo[, 5]) - sd(for.woo[, 5]), mean(tal.shr[, 5]) - sd(tal.shr[, 5]), 
          mean(shr.shr[, 5]) - sd(shr.shr[, 5]), mean(agr.mea[, 5]) - sd(agr.mea[, 5]))
m.lu <- c(mean(for.woo[, 5]) + sd(for.woo[, 5]), mean(tal.shr[, 5]) + sd(tal.shr[, 5]), 
          mean(shr.shr[, 5]) + sd(shr.shr[, 5]), mean(agr.mea[, 5]) + sd(agr.mea[, 5]))
plot(1:4, 1 - m.data, xaxt = "n", ylim=c(0, 1), xlab = "", 
     ylab = expression(~beta*"-diversity"), main = "Sorensen adjusted")
axis(1, at = 1:4, labels = c("Forest", "Tall", "Short", "Meadow"))
segments(x0 = 1:4, y0 = 1 - m.li, y1 = 1 - m.lu, col = 1)

plot of chunk dissim4_within

between landscapes

landsc_between <- function(base, s1, s2){
  result <- NULL
  for(i in s1){
    for(j in s2){
      result <- rbind(result, base[(base[, 2] == i & base[, 3] == j) | 
                                     (base[, 2] == j & base[, 3] == i), ])
    }
  }
  result
}

This function creates a database of pairs of biotypes of the same type, but are in different landscapes. Also, I analyzed separately short and tall shrub among landscapes.

mea <- landsc_between(b.div.mean, ma, c(mm, mf))
shr <- landsc_between(b.div.mean, sm, c(sa, sf))
tal <- landsc_between(b.div.mean, tm, c(ta, tf))
woo <- landsc_between(b.div.mean, wf, c(wa, wm))
mix <- rbind(shr, tal)

Regreesion models

jmodelwoo <- lm((1 - woo[, 4]) ~ woo[, 6])
jmodelmix <- lm((1 - mix[, 4]) ~ mix[, 6])
jmodelmea <- lm((1 - mea[, 4]) ~ mea[, 6])
jmodelshr <- lm((1 - shr[, 4]) ~ shr[, 6])
jmodeltal <- lm((1 - tal[, 4]) ~ tal[, 6])
smodelwoo <- lm((1 - woo[, 5]) ~ woo[, 6])
smodelmix <- lm((1 - mix[, 5]) ~ mix[, 6])
smodelmea <- lm((1 - mea[, 5]) ~ mea[, 6])
smodelshr <- lm((1 - shr[, 5]) ~ shr[, 6])
smodeltal <- lm((1 - tal[, 5]) ~ tal[, 6])
  1. Forest

plot of chunk forest_between

  1. Shrub

plot of chunk shrub_between

  1. Meadow

plot of chunk meadow_between

  1. Tall Shrub

plot of chunk tall_between

  1. Short Shrub

plot of chunk short_between

par(mfrow=c(1, 2))
m.data <- c(mean(woo[, 4]), mean(mix[, 4]), mean(mea[, 4]) )
m.li <- c(mean(woo[, 4]) - sd(woo[, 4]), mean(mix[, 4]) - sd(mix[, 4]), 
          mean(mea[, 4]) - sd(mea[, 4]))
m.lu <- c(mean(woo[, 4]) + sd(woo[, 4]), mean(mix[, 4]) + sd(mix[, 4]), 
          mean(mea[, 4]) + sd(mea[, 4]))
plot(1:3, 1 - m.data, xaxt = "n", ylim=c(0, 1), xlab = "", 
     ylab = expression(~beta*"-diversity"), main = "Jaccard adjusted")
axis(1, at = 1:3, labels = c("Forest", "Shrub", "Meadow"))
segments(x0 = 1:3, y0 = 1 - m.li, y1 = 1 - m.lu, col = 1)

m.data <- c(mean(woo[, 5]), mean(mix[, 5]), mean(mea[, 5]) )
m.li <- c(mean(woo[, 5]) - sd(woo[, 5]), mean(mix[, 5]) - sd(mix[, 5]), 
          mean(mea[, 5]) - sd(mea[, 5]))
m.lu <- c(mean(woo[, 5]) + sd(woo[, 5]), mean(mix[, 5]) + sd(mix[, 5]), 
          mean(mea[, 5]) + sd(mea[, 5]))
plot(1:3, 1 - m.data, xaxt = "n", ylim=c(0, 1), xlab = "", 
     ylab = expression(~beta*"-diversity"), main = "Sorensen adjusted")
axis(1, at = 1:3, labels = c("Forest", "Shrub", "Meadow"))
segments(x0 = 1:3, y0 = 1 - m.li, y1 = 1 - m.lu, col = 1)

plot of chunk dissim3_between

par(mfrow=c(1, 2))
m.data <- c(mean(woo[, 4]), mean(tal[, 4]), mean(shr[, 4]), mean(mea[, 4]) )
m.li <- c(mean(woo[, 4]) - sd(woo[, 4]), mean(tal[, 4]) - sd(tal[, 4]), 
          mean(shr[, 4]) - sd(shr[, 4]), mean(mea[, 4]) - sd(mea[, 4]))
m.lu <- c(mean(woo[, 4]) + sd(woo[, 4]), mean(tal[, 4]) + sd(tal[, 4]), 
          mean(shr[, 4]) + sd(shr[, 4]), mean(mea[, 4]) + sd(mea[, 4]))
plot(1:4, 1 - m.data, xaxt = "n", ylim=c(0, 1), xlab = "", 
     ylab = expression(~beta*"-diversity"), main = "Jaccard adjusted")
axis(1, at = 1:4, labels = c("Forest", "Tall", "Short", "Meadow"))
segments(x0 = 1:4, y0 = 1 - m.li, y1 = 1 - m.lu, col = 1)

m.data <- c(mean(woo[, 5]), mean(tal[, 5]), mean(shr[, 5]), mean(mea[, 5]) )
m.li <- c(mean(woo[, 5]) - sd(woo[, 5]), mean(tal[, 5]) - sd(tal[, 5]), 
          mean(shr[, 5]) - sd(shr[, 5]), mean(mea[, 5]) - sd(mea[, 5]))
m.lu <- c(mean(woo[, 5]) + sd(woo[, 5]), mean(tal[, 5]) + sd(tal[, 5]), 
          mean(shr[, 5]) + sd(shr[, 5]), mean(mea[, 5]) + sd(mea[, 5]))
plot(1:4, 1 - m.data, xaxt = "n", ylim=c(0, 1), xlab = "", 
     ylab = expression(~beta*"-diversity"), main = "Sorensen adjusted")
axis(1, at = 1:4, labels = c("Forest", "Tall", "Short", "Meadow"))
segments(x0 = 1:4, y0 = 1 - m.li, y1 = 1 - m.lu, col = 1)

plot of chunk dissim4_between

Biotopes

mfma <- c(mf, mm, ma)
sfma <- c(sf, sm, sa)
tfma <- c(tf, tm, ta)
wfma <- c(wf, wm, wa)
mixf <- c(sf, sm, sa, tf, tm, ta)

This function creates databse for each biotope independent landscape.

mea.bio <- landsc_within(b.div.mean, mfma, mfma)
sho.bio <- landsc_within(b.div.mean, sfma, sfma)
tal.bio <- landsc_within(b.div.mean, tfma, tfma)
woo.bio <- landsc_within(b.div.mean, wfma, wfma)
mix.bio <- landsc_within(b.div.mean, mixf, mixf)

Regression models

jmodelwoo.bio <- lm((1 - woo.bio[, 4]) ~ woo.bio[, 6])
jmodelmix.bio <- lm((1 - mix.bio[, 4]) ~ mix.bio[, 6])
jmodelmea.bio <- lm((1 - mea.bio[, 4]) ~ mea.bio[, 6])
jmodelsho.bio <- lm((1 - sho.bio[, 4]) ~ sho.bio[, 6])
jmodeltal.bio <- lm((1 - tal.bio[, 4]) ~ tal.bio[, 6])
smodelwoo.bio <- lm((1 - woo.bio[, 5]) ~ woo.bio[, 6])
smodelmix.bio <- lm((1 - mix.bio[, 5]) ~ mix.bio[, 6])
smodelmea.bio <- lm((1 - mea.bio[, 5]) ~ mea.bio[, 6])
smodelsho.bio <- lm((1 - sho.bio[, 5]) ~ sho.bio[, 6])
smodeltal.bio <- lm((1 - tal.bio[, 5]) ~ tal.bio[, 6])
  1. Forest

plot of chunk forest_all

  1. Shrub

plot of chunk shrub_all

  1. Meadow

plot of chunk meadow_all

  1. Tall Shrub

plot of chunk tall_all

  1. Short Shrub

plot of chunk short_all

par(mfrow=c(1, 2))
m.data <- c(mean(woo.bio[, 4]), mean(mix.bio[, 4]), mean(mea.bio[, 4]))
m.li <- c(mean(woo.bio[, 4]) - sd(woo.bio[, 4]), mean(mix.bio[, 4]) - sd(mix.bio[, 4]), 
          mean(mea.bio[, 4]) - sd(mea.bio[, 4]))
m.lu <- c(mean(woo.bio[, 4]) + sd(woo.bio[, 4]), mean(mix.bio[, 4]) + sd(mix.bio[, 4]), 
          mean(mea.bio[, 4]) + sd(mea.bio[, 4]))
plot(1:3, 1 - m.data, xaxt = "n", ylim=c(0, 1), xlab = "", 
     ylab = expression(~beta*"-diversity"), main = "Jaccard adjusted")
axis(1, at = 1:3, labels = c("Forest", "Shrub", "Meadow"))
segments(x0 = 1:3, y0 = 1 - m.li, y1 = 1 - m.lu, col = 1)

m.data <- c( mean(woo.bio[, 5]), mean(mix.bio[, 5]), mean(mea.bio[, 5]))
m.li <- c(mean(woo.bio[, 5]) - sd(woo.bio[, 5]), mean(mix.bio[, 5]) - sd(mix.bio[, 5]), 
          mean(mea.bio[, 5]) - sd(mea.bio[, 5]))
m.lu <- c(mean(woo.bio[, 5]) + sd(woo.bio[, 5]), mean(mix.bio[, 5]) + sd(mix.bio[, 5]), 
          mean(mea.bio[, 5]) + sd(mea.bio[, 5]))
plot(1:3, 1 - m.data, xaxt = "n", ylim=c(0, 1), xlab = "", 
     ylab = expression(~beta*"-diversity"), main = "Sorensen adjusted")
axis(1, at = 1:3, labels = c("Forest", "Shrub", "Meadow"))
segments(x0 = 1:3, y0 = 1 - m.li, y1 = 1 - m.lu, col = 1)

plot of chunk dissim3_all

par(mfrow=c(1, 2))
m.data <- c(mean(woo.bio[, 4]), mean(tal.bio[, 4]), mean(sho.bio[, 4]), mean(mea.bio[, 4]))
m.li <- c(mean(woo.bio[, 4]) - sd(woo.bio[, 4]), mean(tal.bio[, 4]) - sd(tal.bio[, 4]), 
          mean(sho.bio[, 4]) - sd(sho.bio[, 4]), mean(mea.bio[, 4]) - sd(mea.bio[, 4]))
m.lu <- c(mean(woo.bio[, 4]) + sd(woo.bio[, 4]), mean(tal.bio[, 4]) + sd(tal.bio[, 4]), 
          mean(sho.bio[, 4]) + sd(sho.bio[, 4]), mean(mea.bio[, 4]) + sd(mea.bio[, 4]))
plot(1:4, 1 - m.data, xaxt = "n", ylim=c(0, 1), xlab = "", 
     ylab = expression(~beta*"-diversity"), main = "Jaccard adjusted")
axis(1, at = 1:4, labels = c("Forest", "Tall", "Short", "Meadow"))
segments(x0 = 1:4, y0 = 1 - m.li, y1 = 1 - m.lu, col = 1)

m.data <- c(mean(woo.bio[, 5]), mean(tal.bio[, 5]), mean(sho.bio[, 5]), mean(mea.bio[, 5]))
m.li <- c(mean(woo.bio[, 5]) - sd(woo.bio[, 5]), mean(tal.bio[, 5]) - sd(tal.bio[, 5]), 
          mean(sho.bio[, 5]) - sd(sho.bio[, 5]), mean(mea.bio[, 5]) - sd(mea.bio[, 5]))
m.lu <- c(mean(woo.bio[, 5]) + sd(woo.bio[, 5]), mean(tal.bio[, 5]) + sd(tal.bio[, 5]), 
          mean(sho.bio[, 5]) + sd(sho.bio[, 5]), mean(mea.bio[, 5]) + sd(mea.bio[, 5]))
plot(1:4, 1 - m.data, xaxt = "n", ylim=c(0, 1), xlab = "", 
     ylab = expression(~beta*"-diversity"), main = "Sorensen adjusted")
axis(1, at = 1:4, labels = c("Forest", "Tall", "Short", "Meadow"))
segments(x0 = 1:4, y0 = 1 - m.li, y1 = 1 - m.lu, col = 1)

plot of chunk dissim4_all

plot.scale <- function(base, estimator = 0){
  #if estimator == 0: Jaccard, otherwise: Sorensen (default is Jaccard)
  area <- base[, 6]
  if(estimator) div <- base[, 5]
  else div <- base[, 4]
  plot(area, 1 - div, ylim = c(0, 1), xlim = c(0, 7500), xlab = "Geographic Distance (m)", 
       ylab = expression(~beta*"-diversity"))
  abline(v = c(115, 455, 1810), col = "gray", lwd = 1.5, lty = 2)
  lines(1:115, rep(1 - mean(div[area <= 115]), 115), col = 2, lwd = 4.5)
  lines(116:445, rep(1 - mean(div[(area <= 445) & (area > 115)]), 330), col = 2, lwd = 4.5)
  lines(446:1810, rep(1 - mean(div[(area <= 1810) & (area > 445)]), 1365), col = 2, lwd = 4.5)
  lines(1811:7500, rep(1 - mean(div[area > 1811]), 5690), col = 2, lwd = 4.5)
}
  1. Forest
par(mfrow=c(1, 2))
plot.scale(woo.bio)
plot.scale(woo.bio, 1)

plot of chunk forest_scale

  1. Shrub

plot of chunk shrub_scale

  1. Meadow

plot of chunk meadow_scale

  1. Tall Shrub

plot of chunk tall_scale

  1. Short Shrub

plot of chunk short_scale

Bootstrapping 1

Mean Dissimilarity for each scale

mean.fun <- function(data, ind){
  mean(data[ind], na.rm = TRUE)
}

plot.boot <- function(base, ci.result, estimator = 0){
  #if estimator == 0: Jaccard, otherwise: Sorensen (default is Jaccard)
  area <- base[, 6]
  if(estimator) div <- base[, 5]
  else div <- base[, 4]
  plot(area, 1 - div, ylim = c(0, 1), xlim = c(0, 7500), xlab = "Geographic Distance (m)", 
       ylab = expression(~beta*"-diversity"))
  abline(v = c(115, 455, 1810), col = "gray", lwd = 1.5, lty = 2)
  lines(1:115, rep(ci.result[1, 1], 115), col = 2, lwd = 4.5)
  lines(116:445, rep(ci.result[2, 1], 330), col = 2, lwd = 4.5)
  lines(446:1810, rep(ci.result[3, 1], 1365), col = 2, lwd = 4.5)
  lines(1811:7500, rep(ci.result[4, 1], 5690), col = 2, lwd = 4.5)
  lines(1:115, rep(ci.result[1, 2], 115), col = 3, lwd = 4.5)
  lines(116:445, rep(ci.result[2, 2], 330), col = 3, lwd = 4.5)
  lines(446:1810, rep(ci.result[3, 2], 1365), col = 3, lwd = 4.5)
  lines(1811:7500, rep(ci.result[4, 2], 5690), col = 3, lwd = 4.5)
  lines(1:115, rep(ci.result[1, 3], 115), col = 3, lwd = 4.5)
  lines(116:445, rep(ci.result[2, 3], 330), col = 3, lwd = 4.5)
  lines(446:1810, rep(ci.result[3, 3], 1365), col = 3, lwd = 4.5)
  lines(1811:7500, rep(ci.result[4, 3], 5690), col = 3, lwd = 4.5)
}
  1. Forest
jsf <- boot(data = 1 - woo.bio[woo.bio[, 6] <= 115, 4], statistic = mean.fun, R = 2000)
jmf <- boot(data = 1 - woo.bio[(woo.bio[, 6] <= 445) & (woo.bio[, 6] > 115), 4], 
            statistic = mean.fun, R = 2000)
jlf <- boot(data = 1 - woo.bio[(woo.bio[, 6] <= 1810) & (woo.bio[, 6] > 445), 4], 
            statistic = mean.fun, R = 2000)
jxf <- boot(data = 1 - woo.bio[woo.bio[, 6] > 1811, 4], statistic = mean.fun, R = 2000)

ci.jsf <- boot.ci(jsf, type = "bca")
ci.jmf <- boot.ci(jmf, type = "bca")
ci.jlf <- boot.ci(jlf, type = "bca")
ci.jxf <- boot.ci(jxf, type = "bca")

jci.for <- rbind(cbind(ci.jsf$t0, ci.jsf$bca[4], ci.jsf$bca[5]), cbind(ci.jmf$t0, 
           ci.jmf$bca[4], ci.jmf$bca[5]), cbind(ci.jlf$t0, ci.jlf$bca[4], 
           ci.jlf$bca[5]), cbind(ci.jxf$t0, ci.jxf$bca[4], ci.jxf$bca[5]))
colnames(jci.for) <- c("mean", "lower.ci", "upper.ci")
rownames(jci.for) <- c("small", "medium", "large", "extra-large")

ssf <- boot(data = 1 - woo.bio[woo.bio[, 6] <= 115, 5], statistic = mean.fun, R = 2000)
smf <- boot(data = 1 - woo.bio[(woo.bio[, 6] <= 445) & (woo.bio[, 6] > 115), 5], 
            statistic = mean.fun, R = 2000)
slf <- boot(data = 1 - woo.bio[(woo.bio[, 6] <= 1810) & (woo.bio[, 6] > 445), 5],
            statistic = mean.fun, R = 2000)
sxf <- boot(data = 1 - woo.bio[woo.bio[, 6] > 1811, 5], statistic = mean.fun, R = 2000)

ci.ssf <- boot.ci(ssf, type = "bca")
ci.smf <- boot.ci(smf, type = "bca")
ci.slf <- boot.ci(slf, type = "bca")
ci.sxf <- boot.ci(sxf, type = "bca")

sci.for <- rbind(cbind(ci.ssf$t0, ci.ssf$bca[4], ci.ssf$bca[5]), cbind(ci.smf$t0, 
           ci.smf$bca[4], ci.smf$bca[5]), cbind(ci.slf$t0, ci.slf$bca[4], 
          ci.slf$bca[5]), cbind(ci.sxf$t0, ci.sxf$bca[4], ci.sxf$bca[5]))
colnames(sci.for) <- c("mean", "lower.ci", "upper.ci")
rownames(sci.for) <- c("small", "medium", "large", "extra-large")

par(mfrow=c(1, 2))
plot.boot(woo.bio, jci.for)
plot.boot(woo.bio, sci.for, 1)

plot of chunk forestscale_boot

  1. Shrub

plot of chunk shrubscale_boot

  1. Meadow

plot of chunk meadowscale_boot

  • Mean Dissimilarity for each scale (with tall and short shrubs separately)
  1. Tall Shrub

plot of chunk tallscale_boot

  1. Short Shrub

plot of chunk shortscale_boot

Bootstrapping 2

Within Landscape

# bootstrapping with 2000 replications
wl.jforres <- boot(data = as.data.frame(for.woo), statistic = bs.jac, R = 2000, 
                   formula = (1 - Jabd) ~ ipcc)
wl.sforres <- boot(data = as.data.frame(for.woo), statistic = bs.sor, R = 2000, 
                   formula = (1 - Labd) ~ ipcc)

wl.jmixres <- boot(data = as.data.frame(mix.shr), statistic = bs.jac, R = 2000, 
                   formula = (1 - Jabd) ~ ipcc)
wl.smixres <- boot(data = as.data.frame(mix.shr), statistic = bs.sor, R = 2000, 
                   formula = (1 - Labd) ~ ipcc)

wl.jtalres <- boot(data = as.data.frame(tal.shr), statistic = bs.jac, R = 2000, 
                   formula = (1 - Jabd) ~ ipcc)
wl.stalres <- boot(data = as.data.frame(tal.shr), statistic = bs.sor, R = 2000, 
                   formula = (1 - Labd) ~ ipcc)

wl.jshrres <- boot(data = as.data.frame(shr.shr), statistic = bs.jac, R = 2000, 
                   formula = (1 - Jabd) ~ ipcc)
wl.sshrres <- boot(data = as.data.frame(shr.shr), statistic = bs.sor, R = 2000, 
                   formula = (1 - Labd) ~ ipcc)

wl.jmeares <- boot(data = as.data.frame(agr.mea), statistic = bs.jac, R = 2000, 
                   formula = (1 - Jabd) ~ ipcc)
wl.smeares <- boot(data = as.data.frame(agr.mea), statistic = bs.sor, R = 2000, 
                   formula = (1 - Labd) ~ ipcc)

Between Landscapes

# bootstrapping with 2000 replications
bl.jwoores <- boot(data = as.data.frame(woo), statistic = bs.jac, R = 2000, 
                   formula = (1 - Jabd) ~ ipcc)
bl.swoores <- boot(data = as.data.frame(woo), statistic = bs.sor, R = 2000, 
                   formula = (1 - Labd) ~ ipcc)

bl.jmixres <- boot(data = as.data.frame(mix), statistic = bs.jac, R = 2000, 
                   formula = (1 - Jabd) ~ ipcc)
bl.smixres <- boot(data = as.data.frame(mix), statistic = bs.sor, R = 2000, 
                   formula = (1 - Labd) ~ ipcc)

bl.jtalres <- boot(data = as.data.frame(tal), statistic = bs.jac, R = 2000, 
                   formula = (1 - Jabd) ~ ipcc)
bl.stalres <- boot(data = as.data.frame(tal), statistic = bs.sor, R = 2000, 
                   formula = (1 - Labd) ~ ipcc)

bl.jshrres <- boot(data = as.data.frame(shr), statistic = bs.jac, R = 2000, 
                   formula = (1 - Jabd) ~ ipcc)
bl.sshrres <- boot(data = as.data.frame(shr), statistic = bs.sor, R = 2000, 
                   formula = (1 - Labd) ~ ipcc)

bl.jmeares <- boot(data = as.data.frame(mea), statistic = bs.jac, R = 2000, 
                   formula = (1 - Jabd) ~ ipcc)
bl.smeares <- boot(data = as.data.frame(mea), statistic = bs.sor, R = 2000, 
                   formula = (1 - Labd) ~ ipcc)

All Biotopes

# bootstrapping with 2000 replications
al.jforres <- boot(data = as.data.frame(woo.bio), statistic = bs.jac, R = 2000, 
                   formula = (1 - Jabd) ~ ipcc)
al.sforres <- boot(data = as.data.frame(woo.bio), statistic = bs.sor, R = 2000, 
                   formula = (1 - Labd) ~ ipcc)

al.jmixres <- boot(data = as.data.frame(mix.bio), statistic = bs.jac, R = 2000, 
                   formula = (1 - Jabd) ~ ipcc)
al.smixres <- boot(data = as.data.frame(mix.bio), statistic = bs.sor, R = 2000, 
                   formula = (1 - Labd) ~ ipcc)

al.jtalres <- boot(data = as.data.frame(tal.bio), statistic = bs.jac, R = 2000, 
                   formula = (1 - Jabd) ~ ipcc)
al.stalres <- boot(data = as.data.frame(tal.bio), statistic = bs.sor, R = 2000, 
                   formula = (1 - Labd) ~ ipcc)

al.jshrres <- boot(data = as.data.frame(sho.bio), statistic = bs.jac, R = 2000, 
                   formula = (1 - Jabd) ~ ipcc)
al.sshrres <- boot(data = as.data.frame(sho.bio), statistic = bs.sor, R = 2000, 
                   formula = (1 - Labd) ~ ipcc)

al.jmeares <- boot(data = as.data.frame(mea.bio), statistic = bs.jac, R = 2000, 
                   formula = (1 - Jabd) ~ ipcc)
al.smeares <- boot(data = as.data.frame(mea.bio), statistic = bs.sor, R = 2000, 
                   formula = (1 - Labd) ~ ipcc)

Confidence Interval

Within Landscape - get 95% confidence intervals

Jaccard Estimator

wl.jforres.ci <- ci.boot(wl.jforres)
wl.jmixres.ci <- ci.boot(wl.jmixres)
wl.jtalres.ci <- ci.boot(wl.jtalres)
wl.jshrres.ci <- ci.boot(wl.jshrres)
## Warning: extreme order statistics used as endpoints
wl.jmeares.ci <- ci.boot(wl.jmeares)

Sorensen Estimator

wl.sforres.ci <- ci.boot(wl.sforres)
wl.smixres.ci <- ci.boot(wl.smixres)
wl.stalres.ci <- ci.boot(wl.stalres)
wl.sshrres.ci <- ci.boot(wl.sshrres)
wl.smeares.ci <- ci.boot(wl.smeares)

Between Landscapes - get 95% confidence intervals

Jaccard Estimator

bl.jforres.ci <- ci.boot(bl.jwoores)
bl.jmixres.ci <- ci.boot(bl.jmixres)
bl.jtalres.ci <- ci.boot(bl.jtalres)
bl.jshrres.ci <- ci.boot(bl.jshrres)
bl.jmeares.ci <- ci.boot(bl.jmeares)

Sorensen Estimator

bl.sforres.ci <- ci.boot(bl.swoores)
bl.smixres.ci <- ci.boot(bl.smixres)
bl.stalres.ci <- ci.boot(bl.stalres)
bl.sshrres.ci <- ci.boot(bl.sshrres)
bl.smeares.ci <- ci.boot(bl.smeares)

All Biotopes - get 95% confidence intervals

Jaccard Estimator

al.jforres.ci <- ci.boot(al.jforres)
al.jmixres.ci <- ci.boot(al.jmixres)
al.jtalres.ci <- ci.boot(al.jtalres)
al.jshrres.ci <- ci.boot(al.jshrres)
al.jmeares.ci <- ci.boot(al.jmeares)

Sorensen Estimator

al.sforres.ci <- ci.boot(al.sforres)
al.smixres.ci <- ci.boot(al.smixres)
al.stalres.ci <- ci.boot(al.stalres)
al.sshrres.ci <- ci.boot(al.sshrres)
al.smeares.ci <- ci.boot(al.smeares)

Results 1

Jaccard

  • Intercept
par(mfrow = c(1, 3))
interc.plot3(wl.jforres.ci, wl.jmixres.ci, wl.jmeares.ci)
title("Within Landscape", cex = 1.5)
interc.plot3(bl.jforres.ci, bl.jmixres.ci, bl.jmeares.ci)
title("Between Landscapes", cex = 1.5)
interc.plot3(al.jforres.ci, al.jmixres.ci, al.jmeares.ci)
title("All Biotopes", cex = 1.5)

plot of chunk interc3_jac

  • Dissimilarity
par(mfrow = c(1, 3))
dissim.plot3(wl.jforres.ci, wl.jmixres.ci, wl.jmeares.ci)
title("Within Landscape", cex = 1.5)
dissim.plot3(bl.jforres.ci, bl.jmixres.ci, bl.jmeares.ci)
title("Between Landscapes", cex = 1.5)
dissim.plot3(al.jforres.ci, al.jmixres.ci, al.jmeares.ci)
title("All Biotopes", cex = 1.5)

plot of chunk dissim3_jac

  • Slope
par(mfrow = c(1, 3))
slope.plot3(wl.jforres.ci, wl.jmixres.ci, wl.jmeares.ci)
title("Within Landscape", cex = 1.5)
slope.plot3(bl.jforres.ci, bl.jmixres.ci, bl.jmeares.ci)
title("Between Landscapes", cex = 1.5)
slope.plot3(al.jforres.ci, al.jmixres.ci, al.jmeares.ci)
title("All Biotopes", cex = 1.5)

plot of chunk slope3_jac

  • R-Square
par(mfrow = c(1, 3))
rsquar.plot3(wl.jforres.ci, wl.jmixres.ci, wl.jmeares.ci)
title("Within Landscape", cex = 1.5)
rsquar.plot3(bl.jforres.ci, bl.jmixres.ci, bl.jmeares.ci)
title("Between Landscapes", cex = 1.5)
rsquar.plot3(al.jforres.ci, al.jmixres.ci, al.jmeares.ci)
title("All Biotopes", cex = 1.5)

plot of chunk r-quar3_jac

Sorensen

  • Intercept
par(mfrow = c(1, 3))
interc.plot3(wl.sforres.ci, wl.smixres.ci, wl.smeares.ci)
title("Within Landscape", cex = 1.5)
interc.plot3(bl.sforres.ci, bl.smixres.ci, bl.smeares.ci)
title("Between Landscapes", cex = 1.5)
interc.plot3(al.sforres.ci, al.smixres.ci, al.smeares.ci)
title("All Biotopes", cex = 1.5)

plot of chunk interc3_sor

  • Dissimilarity
par(mfrow = c(1, 3))
dissim.plot3(wl.sforres.ci, wl.smixres.ci, wl.smeares.ci)
title("Within Landscape", cex = 1.5)
dissim.plot3(bl.sforres.ci, bl.smixres.ci, bl.smeares.ci)
title("Between Landscapes", cex = 1.5)
dissim.plot3(al.sforres.ci, al.smixres.ci, al.smeares.ci)
title("All Biotopes", cex = 1.5)

plot of chunk dissim3_sor

  • Slope
par(mfrow = c(1, 3))
slope.plot3(wl.sforres.ci, wl.smixres.ci, wl.smeares.ci)
title("Within Landscape", cex = 1.5)
slope.plot3(bl.sforres.ci, bl.smixres.ci, bl.smeares.ci)
title("Between Landscapes", cex = 1.5)
slope.plot3(al.sforres.ci, al.smixres.ci, al.smeares.ci)
title("All Biotopes", cex = 1.5)

plot of chunk slope3_sor

  • R-Square
par(mfrow = c(1, 3))
rsquar.plot3(wl.sforres.ci, wl.smixres.ci, wl.smeares.ci)
title("Within Landscape", cex = 1.5)
rsquar.plot3(bl.sforres.ci, bl.smixres.ci, bl.smeares.ci)
title("Between Landscapes", cex = 1.5)
rsquar.plot3(al.sforres.ci, al.smixres.ci, al.smeares.ci)
title("All Biotopes", cex = 1.5)

plot of chunk r-squar3_sor

Results 2

Jaccard

par(mfrow = c(1, 3))
interc.plot4(wl.jforres.ci, wl.jtalres.ci, wl.jshrres.ci, wl.jmeares.ci)
title("Within Landscape", cex = 1.5)
interc.plot4(bl.jforres.ci, bl.jtalres.ci, bl.jshrres.ci, bl.jmeares.ci)
title("Between Landscapes", cex = 1.5)
interc.plot4(al.jforres.ci, al.jtalres.ci, al.jshrres.ci, al.jmeares.ci)
title("All Biotopes", cex = 1.5)

plot of chunk interc4_jac

par(mfrow = c(1, 3))
dissim.plot4(wl.jforres.ci, wl.jtalres.ci, wl.jshrres.ci, wl.jmeares.ci)
title("Within Landscape", cex = 1.5)
dissim.plot4(bl.jforres.ci, bl.jtalres.ci, bl.jshrres.ci, bl.jmeares.ci)
title("Between Landscapes", cex = 1.5)
dissim.plot4(al.jforres.ci, al.jtalres.ci, al.jshrres.ci, al.jmeares.ci)
title("All Biotopes", cex = 1.5)

plot of chunk dissim4_jac

par(mfrow = c(1, 3))
slope.plot4(wl.jforres.ci, wl.jtalres.ci, wl.jshrres.ci, wl.jmeares.ci)
title("Within Landscape", cex = 1.5)
slope.plot4(bl.jforres.ci, bl.jtalres.ci, bl.jshrres.ci, bl.jmeares.ci)
title("Between Landscapes", cex = 1.5)
slope.plot4(al.jforres.ci, al.jtalres.ci, al.jshrres.ci, al.jmeares.ci)
title("All Biotopes", cex = 1.5)

plot of chunk slope4_jac

par(mfrow = c(1, 3))
rsquar.plot4(wl.jforres.ci, wl.jtalres.ci, wl.jshrres.ci, wl.jmeares.ci)
title("Within Landscape", cex = 1.5)
rsquar.plot4(bl.jforres.ci, bl.jtalres.ci, bl.jshrres.ci, bl.jmeares.ci)
title("Between Landscapes", cex = 1.5)
rsquar.plot4(al.jforres.ci, al.jtalres.ci, al.jshrres.ci, al.jmeares.ci)
title("All Biotopes", cex = 1.5)

plot of chunk r-squar4_jac

Sorensen

par(mfrow = c(1, 3))
interc.plot4(wl.sforres.ci, wl.stalres.ci, wl.sshrres.ci, wl.smeares.ci)
title("Within Landscape", cex = 1.5)
interc.plot4(bl.sforres.ci, bl.stalres.ci, bl.sshrres.ci, bl.smeares.ci)
title("Between Landscapes", cex = 1.5)
interc.plot4(al.sforres.ci, al.stalres.ci, al.sshrres.ci, al.smeares.ci)
title("All Biotopes", cex = 1.5)

plot of chunk interc4_sor

par(mfrow = c(1, 3))
dissim.plot4(wl.sforres.ci, wl.stalres.ci, wl.sshrres.ci, wl.smeares.ci)
title("Within Landscape", cex = 1.5)
dissim.plot4(bl.sforres.ci, bl.stalres.ci, bl.sshrres.ci, bl.smeares.ci)
title("Between Landscapes", cex = 1.5)
dissim.plot4(al.sforres.ci, al.stalres.ci, al.sshrres.ci, al.smeares.ci)

plot of chunk dissim4_sor

par(mfrow = c(1, 3))
slope.plot4(wl.sforres.ci, wl.stalres.ci, wl.sshrres.ci, wl.smeares.ci)
title("Within Landscape", cex = 1.5)
slope.plot4(bl.sforres.ci, bl.stalres.ci, bl.sshrres.ci, bl.smeares.ci)
title("Between Landscapes", cex = 1.5)
slope.plot4(al.sforres.ci, al.stalres.ci, al.sshrres.ci, al.smeares.ci)
title("All Biotopes", cex = 1.5)

plot of chunk slope4_sor

par(mfrow = c(1, 3))
rsquar.plot4(wl.sforres.ci, wl.stalres.ci, wl.sshrres.ci, wl.smeares.ci)
title("Within Landscape", cex = 1.5)
rsquar.plot4(bl.sforres.ci, bl.stalres.ci, bl.sshrres.ci, bl.smeares.ci)
title("Between Landscapes", cex = 1.5)
rsquar.plot4(al.sforres.ci, al.stalres.ci, al.sshrres.ci, al.smeares.ci)
title("All Biotopes", cex = 1.5)

plot of chunk r-squar4_sor

Tables

Jaccard

  1. Within landscape
  1. Between landscapes
  1. All biotopes

Sorensen

  1. Within landscape
  1. Between landscapes
  1. All biotopes